package tests;

import java.util.Scanner;

import queue.ArrayQueue;
import queue.EmptyQueueExeption;

public class ArrayQueueTest {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String op = "";
		ArrayQueue queue = new ArrayQueue();
		queue.enqueue(new Contato("Udson","91836129"));
		queue.enqueue(new Contato("Kênia", "91380805"));
		
		do {
			System.out.println("-= Teste da classe ArrayQueue =-");
			System.out.println("1. Enfileirar\n2. Primeiro\n3. Desenfileirar" +
					"\n4. Tamanho\n5. Está vazia\n6. Imprimir\n0. Sair");
			System.out.print("Selecione uma operação: ");
			op = sc.nextLine();
			
			switch(op) {
				case "1":
					Contato c = new Contato();
					System.out.print("\tDigite um nome: ");
					c.setNome(sc.nextLine());
					System.out.print("\tDigite um número: ");
					c.setNumero(sc.nextLine());
					queue.enqueue(c);
					System.out.println("\t\tContato inserido.\n");
					break;
					
				case "2":
					try {
						System.out.println("\t" + queue.front() + "\n");
					} catch (EmptyQueueExeption e) {
						System.out.println("\tA fila está vazia!\n");
					}
					break;
					
				case "3":
					try {
						System.out.println("\t" + queue.dequeue() + " removido.\n");
					} catch (EmptyQueueExeption e) {
						System.out.println("\tA fila está vazia!\n");
					}
					break;
				
				case "4":
					System.out.println("\tHá " + queue.size() + " elementos na fila.\n");
					break;
				
				case "5":
					System.out.println(queue.isEmpty() ?
							"\tEstá vazia.\n" : "\tNão está vazia.\n");
					break;
				
				case "6":
					System.out.println("\t" + queue.elementsToString() + "\n");
					break;
			}
		} while(!"0".equals(op));
		
		sc.close();
	}

}
